Integrated circuits, including Systems on Chips (SOCs) are becoming increasingly complex and can include a variety of functional blocks. These functional blocks can serve a variety of differing functions and are becoming increasingly more specialized. One common feature of several functional blocks can be the inclusion of an offloading engine, such as a Dynamic Memory Access (DMA) engine, that can serve to independently retrieve or transmit data to or from various memory locations with minimal oversight from the associated functional block, freeing the associated functional block from these tasks.